package com.info.zhiduoduo.repository.entity.foreign;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @program: zhiduoduo
 * @author: LiTong
 * @create: 2020-11-11 18:20
 **/
@Data
@Accessors(chain = true)
@TableName("zdd_foreign_invoice")
public class ForeignInvoice extends Model<ForeignInvoice> {
    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 云项目id
     */
    @TableField("project_id")
    private Integer projectId;
    /**
     * 自然人id
     */
    private Integer crowdsourceid;
    /**
     * 项目金额
     */
    private BigDecimal amount;

    /**
     * 开票状态（1：待开票，2：开票中，3：已开票）
     */
    private Integer state;

    /**
     * 委托运营方(申请开票时客服输入)
     */
    @TableField("entrusted_operator")
    private String entrustedOperator;

    /**
     * 项目服务名称(申请开票时客服输入)
     */
    @TableField("project_service_name")
    private String projectServiceName;

    /**
     * 快递公司(完成开票时客服输入)
     */
    @TableField("courier_services_company")
    private String courierServicesCompany;

    /**
     * 快递单号(完成开票时客服输入)
     */
    @TableField("courier_number")
    private String courierNumber;

    /**
     * 完成开票时的备注
     */
    private String remarks;

    /**
     * 多条发票合并开票时客服输入的 乙方名称
     */
    @TableField("name_of_party_b")
    private String nameOfPartyB;

    /**
     * 多条发票合并开票时客服输入的 乙方身份证号
     */
    @TableField("id_number_of_party_b")
    private String idNumberOfPartyB;

    /**
     * 被合并后关联的id(默认为0)
     */
    @TableField("merge_id")
    private Integer mergeId;

    /**
     * 是否为合并后的发票（默认0 否   1 是）
     */
    @TableField("whether_merge")
    private Integer whetherMerge;

    /**
     * 开票地id(申请开票时客服输入)
     */
    @TableField("invoice_city_id")
    private Integer invoiceCityId;

    /**
     * 更新时间
     */
    private Date updatetime;

    /**
     * 创建时间
     */
    private Date createtime;

    /**
     * 附件信息
     */
    @TableField("enclosure_info")
    private String enclosureInfo;

    /**
     * 附件生成时间
     */
    private Date generatetime;
    /**
     * 开票类型 默认 0 单条正常开票 1 合并开票  2批量单条开票
     */
    private Integer type;

    /**
     * 合并开票时 填的备注
     */
    @TableField("merge_remarks")
    private String mergeRemarks;

    /**
     * 上传的发票图片路径
     */
    @TableField("invoice_picture_path")
    private String invoicePicturePath;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }
}
